<?php

/**
 * Classe permettant de déplacer un fichier uploader
 *   de modifier les tailles des images
 *
 * @author Hervé Le Crosnier
 */


class Outils_Uploader {

  public static function uploaderFichier($tmpFile) {

     $fichier = Image::initializeFromFile($tmpFile);
	 if ( ! $fichier ) {
		 return false;
	 }
	 	 
     $nomfichier = $fichier->getFile();
	 $id_user = $fichier->getIdUser();
	 
	 // Suppression de l'ancienne image
	 Image_Bd::deleteUserImage($id_user);
	 Image::supprimerRepImage($id_user);

 
     if (strlen($nomfichier) == 0) {
      	throw new Exception("probleme de nom de fichier");
     }
	 
     if (!is_uploaded_file($tmpFile)) {
      	throw new Exception("Le fichier ne provient pas d'un upload");
    }
	
     if (strlen($id_user) == 0) {
      	throw new Exception("Il n'y a pas d'identifiant user- impossible d'uploader");
    }
	
	
	if (!is_dir(ENTREPOT_FILE . $id_user)) {
		if (!mkdir(ENTREPOT_FILE . $id_user)) {
			throw new Exception("Impossible de creer le répertoire " . ENTREPOT_FILE . $id_user);
		}
	}
 

	$newName = ENTREPOT_FILE . $id_user . "/" . $nomfichier;

	if (!move_uploaded_file($tmpFile, $newName)) {
		throw new Exception("Echec du déplacement du fichier {$tmpFile} vers {$name}");
	}

	$fichier->creerIcone();

   
	return $fichier;

  }

  
} // fin de la classe Outils_Uploader